|
AutoCAD ARX Object : ObjectID aus ResultBuffer bekommen
alfred neswadba am 11.11.2008 um 15:38 Uhr (0)
Hi,könntest probieren Nothing zurückzugeben, habs aber jetzt nicht probiert. Wenn das nicht geht, dann wird wohl ResultBuffer notwendig sein. Mehr Ideen hätte ich nicht dazu.Pfusch-Lösung, aber schneller programmiert wäre ein definierter FehlerString, der in Attributswerten nicht vorkommen kann, z.B. "ErrErrErr" oder Du kannst auch in den Lispaufruf als weiteres Argument den String mitgeben, der im Fehlerfall retourniert werden soll und den verwendest Du dann.(getattr (car (entsel)) "ATTNAME" "ErrErrErr")a ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Error handler re-entered
alfred neswadba am 27.04.2009 um 20:47 Uhr (0)
Hi,ich kenne das eigentlich eher aus Lisp als aus dotNET (da eigentlich noch nie gesehen). Umschrieben mit einfachen Worten bedeutet das, dass ein Fehler aufgetreten ist, eine Fehlerbehandlungsroutine gestartet wird, in dieser auch ein Fehler ist und damit ein nettes Schleifchen gezaubert. Um nicht in Rekursion ohne Ende zu fallen, wird mit dieser Meldung abgebrochen.Ohne Code, keine Chance, sorry. Umso schlimmer, wenn der Fall nicht fix reproduzierbar ist.- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.net Objekte als gewählt markieren
alfred neswadba am 30.06.2009 um 15:46 Uhr (0)
Hi,lerne ich jetzt gerade was oder ists nur ein gedanklicher Fehler?Wenn Du eine Lisp-Funktion deklarierst, ist da die Deklaration nicht Code:[LispFunction("C:ASW1")]public SelectionSet ArtikelAuswahl1(ResultBuffer args)statt ...CommandMethod...?In jedem Fall aber Üs fürs selbst herausfinden und dann bereitstellen! Danke Heisst das auch, dass Du im Lisp jetzt das Implied-SelectionSet wirklich während des transparenten Aufrufs verändern kannst? Da bist Du aber mächtig tief eingedrungen, Hochachtung! - alf ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.net Objekte als gewählt markieren
alfred neswadba am 30.06.2009 um 16:04 Uhr (0)
Großartig, dann hab ich nur einen Schritt zu wenig weit gedacht. Einen Weg über Lisp hätten wir ja schon gehabt, nur dass ich eben nicht jedes Element einzeln mit SendCommand gewählt hätte , aber dass grundsätzlich das ImpliedSelectionSet sich über eine definierte LispFunktion modifizieren läßt und dieses auch in der laufenden Funktion dann als selektiert wahrnimmt, das ist schon brauchbar.THX for the info, - alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Letzter platzierter Block
alfred neswadba am 11.08.2009 um 09:23 Uhr (0)
Hi,dann initialisiere einen EventHandler, der ObjectAdded überwacht, bevor Du das Lisp startest; gleichzeitig einen EventHandler für CommandEnded.Kommt zweiter Event, kannst Du die ObjectIDs (die Du mit ..ObjectAdded gesammelt hast) durchgehen und daraufhin prüfen.Wobei alles leichter würde, wenn Du den Block gleich mit dotNET plazierst? Aber es wird wohl Gründe geben, wieso wohl in Deinem Fall nicht.- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Prüfen welche Programme geladen sind
alfred neswadba am 07.09.2009 um 21:30 Uhr (0)
Hi,also alles zusammen mit einem Modul fällt mir jetzt mal nicht ein, d.h. es wird wohl darauf hinauslaufen müssen, dass Du Typ für Typ überprüfst.Hier mal für ARX (Verweise zu den *mdg*.dll sowie zu den Standard COM-Verweisen ist dabei notwendig):Code:notwendig im Header:Imports Autodesk.AutoCADund dann in der Prozedur:Dim tAcadDoc as ApplicationServices.Document = ApplicationServices.Application.DocumentManager.MdiActiveDocumentdann auf COM-basiertes Application-Element zugreifenDim tAcadAppCOM as Intero ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Prüfen welche Programme geladen sind
alfred neswadba am 08.09.2009 um 19:00 Uhr (0)
Hi,hast Du VisualStudio 2005 oder 2008? Mit 2005 wird das auch in der Hilfe nicht so funktionieren wie es z.B. in VBA gemacht wird (auf Objektdeklaration - Typ Maus draufstellen und F1 ).Mit VS2008 und ObjectARX-Kit 2010 gibts ein eigenes EXE, das erst die Help-Files so im VS hinein-konfiguriert, dass Du auch (zum Großteil) zu der AutoCAD-Objekt-Hilfe kommst. Zugegeben, das hab ich mit älteren ObjectARX-Kits nie gemacht aus Sorge, dass die VS-Installation darunter leidet. Die Help-Files hab ich im Windows ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Autocad resetten ?
alfred neswadba am 03.09.2009 um 15:26 Uhr (0)
Hi,gratuliere mal zu 1000 Ein Reset von AutoCAD kenne ich nicht und wird wohl auch relativ schwer, denn:Du müsstest von allen Programmiersprachen aus alles erkennen, was offen ist und dann (geordnet) schliessen. Da musst Du durch Lisp genauso durch wie durch VBA, COM-basierte Applikationen, durch die managed-Applications bis hin zu C++ alloziierten Speicherbereichen von ARX-Modulen.Und die Gefahr, dass dann ev. irgendwelche Reaktoren und/oder Events noch auf diese Bereiche hinzeigen und daher das ganze Au ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Prüfen welche Programme geladen sind
alfred neswadba am 12.09.2009 um 14:00 Uhr (0)
Hi,zu Deinen Statements:A) (defun test(/)(print "test))B) IIf(Utils.IsLispCommandDefined("C:test")zu A) da fehlt ein Anführungszeichen nach dem Wort testzu A+B) wenn die Lispfunktion ohne C: definiert ist, dann darfst Du auch die Prüfung nicht MIT C: machen.Zu welchem Zeitpunkt (in bezug auf AutoCAD-Start) erstellst Du das Icon? Zuerst war Deine Aussage (so habe ich diese interpretiert), dass die Funktion xxx.IsLispCommandDefined von einem händischen Aufruf initiiert wird. Icons für die Benutzeroberfläche ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Prüfen welche Programme geladen sind
alfred neswadba am 12.09.2009 um 17:33 Uhr (0)
Hi,darüber hätte ich schon nachgedacht, ob das irgendwo steht oder zu finden wäre. Kurzum ich hätte nichts gefunden, wo beschrieben wäre, in welcher Reihenfolge die Dinge geladen werden; sonst hätte ich es auch schon geschrieben.Rein aus Bauchgefühl heraus hätte ich aber mal vermutet, dass Lisp und VBA in der Kette wohl eher am Ende des AutoCAD-Initialisierungsvorgangs stehen werden, aber eben nur Bauchgefühl.Es wäre alternativ möglich, folgendes Beispiel:(if (not (vl-vlx-loaded-p "ISH_HMap03")) (load (fin ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C# - Overruling DimensionText
alfred neswadba am 20.03.2010 um 13:19 Uhr (0)
Hi,hast Du mal probiert, dieses auf einem anderen Rechner anzustarten? Funktionierts dann schon oder dort auch nicht? Oder tritt der Fehler gar nur während des Debugens auf?Ich kann auch davon ausgehen, dass Du keine andere Überschreibung (in anderen Modulen, ev. auch Reaktor in LISP) für den Objekttyp Bemassung geladen hast?Wenn Du nach dieser Funktion in AutoCAD den Befehl _AUDIT startest, werden Fehler gefunden oder ist die Zeichnung stabil?- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Lisp to .NET
alfred neswadba am 03.04.2010 um 16:16 Uhr (0)
Hi,nicht nachgeforscht, aber es gibt so was wie .Center und dann noch .Width bzw. .Height (die Eigenschaften können klein wenig anders benannt sein, sollte damit aber auffindbar sein).Das gilt natürlich nur, wenn Du 2D drauschaust, bei 3D gibt es dann ähnlich Eigenschaften wie die einer Kamera (bzw. View). Lass wissen, wenn Du das brauchst, dann geh ich suchen.- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Lisp to .NET
alfred neswadba am 03.04.2010 um 16:55 Uhr (0)
Hi,schau mal das hier (hab jetzt keinen VS-Rechner bei der Hand), da gehts zwar um Drehung, aber die verwendeten Eigenschaften sind ersichtlich.- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |